<html>
	<head>
		<meta charset="utf-8"></meta>
		<title>BScene</title>
		<link href="./style.css" rel="stylesheet" type="text/css"/>
	</head>
	<body>
		<div class="class" name="BScene">
			<h1>BScene</h1>
			<p>继承自<a href="BObject.html">BObject</a></p>
			<p id="resume"><a href="#desc">详细</a></p>
			<h2>public</h2>
			<table id="public">
				<tr><td align="right"/><td><a href="#BScene()">BScene</a>();</td></tr>
				<tr><td align="right"/><td><a href="#BScene(const BString&)">BScene</a>(const BString& name);</td></tr>
				<tr><td align="right"/><td><a href="#~BScene()">~BScene</a>();</td></tr>
				<tr><td align="right">void </td><td><a href="#setOptimized(bool)">setOptimized</a>(bool optimized);</td></tr>
				<tr><td align="right">bool </td><td><a href="#optimized() const">optimized</a>() const;</td></tr>
				<tr><td align="right">void </td><td><a href="#setSolverIterations(int)">setSolverIterations</a>(int solverIterations);</td></tr>
				<tr><td align="right">int </td><td><a href="#solverIterations() const">solverIterations</a>() const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#empty() const">empty</a>() const;</td></tr>
				<tr><td align="right">const BSpace&amp; </td><td><a href="#space() const">space</a>() const;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#insert(BShape*)">insert</a>(BShape* shape);</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#remove(BShape*)">remove</a>(BShape* shape);</td></tr>
				<tr><td align="right">bool </td><td><a href="#contain(const BShape*) const">contain</a>(const BShape* shape) const;</td></tr>
				<tr><td align="right">int </td><td><a href="#shapeCount() const">shapeCount</a>() const;</td></tr>
				<tr><td align="right">BShape* </td><td><a href="#shape(int) const">shape</a>(int index) const;</td></tr>
				<tr><td align="right">BShape* </td><td><a href="#shape(const BString&) const">shape</a>(const BString& name) const;</td></tr>
				<tr><td align="right">BShape* </td><td><a href="#shapeOfAsset(const BValue&) const">shapeOfAsset</a>(const BValue& asset) const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#shapesInSpace(const BSpace&, BShapeArray&) const">shapesInSpace</a>(const BSpace& space, BShapeArray& shapes) const;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#insert(BNode*)">insert</a>(BNode* node);</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#remove(BNode*)">remove</a>(BNode* node);</td></tr>
				<tr><td align="right">bool </td><td><a href="#contain(const BNode*) const">contain</a>(const BNode* node) const;</td></tr>
				<tr><td align="right">int </td><td><a href="#nodeCount() const">nodeCount</a>() const;</td></tr>
				<tr><td align="right">BNode* </td><td><a href="#node(int) const">node</a>(int index) const;</td></tr>
				<tr><td align="right">BNode* </td><td><a href="#node(const BString&) const">node</a>(const BString& name) const;</td></tr>
				<tr><td align="right">BNode* </td><td><a href="#nodeOfAsset(const BValue&) const">nodeOfAsset</a>(const BValue& asset) const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#nodesInSpace(const BSpace&, BNodeArray&) const">nodesInSpace</a>(const BSpace& space, BNodeArray& nodes) const;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#insert(BGroup*)">insert</a>(BGroup* group);</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#remove(BGroup*)">remove</a>(BGroup* group);</td></tr>
				<tr><td align="right">bool </td><td><a href="#contain(const BGroup*) const">contain</a>(const BGroup* group) const;</td></tr>
				<tr><td align="right">int </td><td><a href="#groupCount() const">groupCount</a>() const;</td></tr>
				<tr><td align="right">BGroup* </td><td><a href="#group(int) const">group</a>(int index) const;</td></tr>
				<tr><td align="right">BGroup* </td><td><a href="#group(const BString&) const">group</a>(const BString& name) const;</td></tr>
				<tr><td align="right">BGroup* </td><td><a href="#groupOfAsset(const BValue&) const">groupOfAsset</a>(const BValue& asset) const;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#insert(BRestraint*)">insert</a>(BRestraint* restraint);</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#remove(BRestraint*)">remove</a>(BRestraint* restraint);</td></tr>
				<tr><td align="right">bool </td><td><a href="#contain(const BRestraint*)">contain</a>(const BRestraint* restraint);</td></tr>
				<tr><td align="right">int </td><td><a href="#restraintCount() const">restraintCount</a>() const;</td></tr>
				<tr><td align="right">BRestraint* </td><td><a href="#restraint(int) const">restraint</a>(int index) const;</td></tr>
				<tr><td align="right">BRestraint* </td><td><a href="#restraint(const BString&) const">restraint</a>(const BString& name) const;</td></tr>
				<tr><td align="right">BRestraint* </td><td><a href="#restraintOfAsset(const BValue&) const">restraintOfAsset</a>(const BValue& asset) const;</td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#contain(const BString&) const">contain</a>(const BString& name) const;</td></tr>
				<tr><td align="right">BObject* </td><td><a href="#find(const BString&)">find</a>(const BString& name);</td></tr>
				<tr><td align="right">const BObject* </td><td><a href="#find(const BString&) const">find</a>(const BString& name) const;</td></tr>
				<tr><td align="right">BGroup* </td><td><a href="#findGroup(const BString&)">findGroup</a>(const BString& name);</td></tr>
				<tr><td align="right">const BGroup* </td><td><a href="#findGroup(const BString&) const">findGroup</a>(const BString& name) const;</td></tr>
				<tr><td align="right">BShape* </td><td><a href="#findShape(const BString&)">findShape</a>(const BString& name);</td></tr>
				<tr><td align="right">const BShape* </td><td><a href="#findShape(const BString&) const">findShape</a>(const BString& name) const;</td></tr>
				<tr><td align="right">BNode* </td><td><a href="#findNode(const BString&)">findNode</a>(const BString& name);</td></tr>
				<tr><td align="right">const BNode* </td><td><a href="#findNode(const BString&) const">findNode</a>(const BString& name) const;</td></tr>
				<tr><td align="right">BRestraint* </td><td><a href="#findRestraint(const BString&)">findRestraint</a>(const BString& name);</td></tr>
				<tr><td align="right">const BRestraint* </td><td><a href="#findRestraint(const BString&) const">findRestraint</a>(const BString& name) const;</td></tr>
				<tr><td align="right">BObject* </td><td><a href="#locate(const BString&)">locate</a>(const BString& path);</td></tr>
				<tr><td align="right">const BObject* </td><td><a href="#locate(const BString&) const">locate</a>(const BString& path) const;</td></tr>
				<tr><td align="right">BNode* </td><td><a href="#locateNode(const BString&)">locateNode</a>(const BString& path);</td></tr>
				<tr><td align="right">const BNode* </td><td><a href="#locateNode(const BString&) const">locateNode</a>(const BString& path) const;</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#clear()">clear</a>();</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#clearShapes()">clearShapes</a>();</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#clearNodes()">clearNodes</a>();</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#clearGroups()">clearGroups</a>();</td></tr>
				<tr><td align="right">virtual void </td><td><a href="#clearContraints()">clearContraints</a>();</td></tr>
				<tr><td align="right">int </td><td><a href="#bodyCount() const">bodyCount</a>() const;</td></tr>
				<tr><td align="right">BBody* </td><td><a href="#body(int) const">body</a>(int index) const;</td></tr>
				<tr><td align="right">BBody* </td><td><a href="#body(const BString&) const">body</a>(const BString& name) const;</td></tr>
				<tr><td align="right">BBody* </td><td><a href="#bodyOfAsset(const BValue&) const">bodyOfAsset</a>(const BValue& asset) const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#bodysInSpace(const BSpace&, BBodyArray&) const">bodysInSpace</a>(const BSpace& space, BBodyArray& lights) const;</td></tr>
				<tr><td align="right">int </td><td><a href="#lightCount() const">lightCount</a>() const;</td></tr>
				<tr><td align="right">BLight* </td><td><a href="#light(int) const">light</a>(int index) const;</td></tr>
				<tr><td align="right">BLight* </td><td><a href="#light(const BString&) const">light</a>(const BString& name) const;</td></tr>
				<tr><td align="right">BLight* </td><td><a href="#lightOfAsset(const BValue&) const">lightOfAsset</a>(const BValue& asset) const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#lightsInSpace(const BSpace&, BLightArray&) const">lightsInSpace</a>(const BSpace& space, BLightArray& lights) const;</td></tr>
				<tr><td align="right">int </td><td><a href="#cameraCount() const">cameraCount</a>() const;</td></tr>
				<tr><td align="right">BCamera* </td><td><a href="#camera(int) const">camera</a>(int index) const;</td></tr>
				<tr><td align="right">BCamera* </td><td><a href="#camera(const BString&) const">camera</a>(const BString& name) const;</td></tr>
				<tr><td align="right">BCamera* </td><td><a href="#cameraOfAsset(const BValue&) const">cameraOfAsset</a>(const BValue& asset) const;</td></tr>
				<tr><td align="right">bool </td><td><a href="#camerasInSpace(const BSpace&, BCameraArray&) const">camerasInSpace</a>(const BSpace& space, BCameraArray& cameras) const;</td></tr>
				<tr><td align="right">void </td><td><a href="#start()">start</a>();</td></tr>
				<tr><td align="right">void </td><td><a href="#pause()">pause</a>();</td></tr>
				<tr><td align="right">void </td><td><a href="#reset()">reset</a>();</td></tr>
				<tr><td align="right">using </td><td><a href="#BObject::query;()">BObject::query;</a></td></tr>
				<tr><td align="right">virtual bool </td><td><a href="#query(const BString&, BValue&) const">query</a>(const BString& text, BValue& value) const;</td></tr>
			</table>
			<h2>protected</h2>
			<table id="protected">
				<tr><td align="right">virtual void </td><td><a href="#update(BReal)">update</a>(BReal time);</td></tr>
			</table>
			<div id="desc">
				<h2>详细介绍：</h2>
			</div>
			<h2 id="docs">成员文档：</h2>
			<div id="BScene()">
				<h3>BScene();</h3>
			</div>
			<div id="BScene(const BString&)">
				<h3>BScene(const BString&amp; name);</h3>
			</div>
			<div id="~BScene()">
				<h3>~BScene();</h3>
			</div>
			<div id="setOptimized(bool)">
				<h3>void setOptimized(bool optimized);</h3>
			</div>
			<div id="optimized() const">
				<h3>bool optimized() const;</h3>
			</div>
			<div id="setSolverIterations(int)">
				<h3>void setSolverIterations(int solverIterations);</h3>
			</div>
			<div id="solverIterations() const">
				<h3>int solverIterations() const;</h3>
			</div>
			<div id="empty() const">
				<h3>bool empty() const;</h3>
			</div>
			<div id="space() const">
				<h3>const BSpace&amp; space() const;</h3>
			</div>
			<div id="insert(BShape*)">
				<h3>virtual bool insert(BShape* shape);</h3>
			</div>
			<div id="remove(BShape*)">
				<h3>virtual bool remove(BShape* shape);</h3>
			</div>
			<div id="contain(const BShape*) const">
				<h3>bool contain(const BShape* shape) const;</h3>
			</div>
			<div id="shapeCount() const">
				<h3>int shapeCount() const;</h3>
			</div>
			<div id="shape(int) const">
				<h3>BShape* shape(int index) const;</h3>
			</div>
			<div id="shape(const BString&) const">
				<h3>BShape* shape(const BString&amp; name) const;</h3>
			</div>
			<div id="shapeOfAsset(const BValue&) const">
				<h3>BShape* shapeOfAsset(const BValue&amp; asset) const;</h3>
			</div>
			<div id="shapesInSpace(const BSpace&, BShapeArray&) const">
				<h3>bool shapesInSpace(const BSpace&amp; space, BShapeArray&amp; shapes) const;</h3>
			</div>
			<div id="insert(BNode*)">
				<h3>virtual bool insert(BNode* node);</h3>
			</div>
			<div id="remove(BNode*)">
				<h3>virtual bool remove(BNode* node);</h3>
			</div>
			<div id="contain(const BNode*) const">
				<h3>bool contain(const BNode* node) const;</h3>
			</div>
			<div id="nodeCount() const">
				<h3>int nodeCount() const;</h3>
			</div>
			<div id="node(int) const">
				<h3>BNode* node(int index) const;</h3>
			</div>
			<div id="node(const BString&) const">
				<h3>BNode* node(const BString&amp; name) const;</h3>
			</div>
			<div id="nodeOfAsset(const BValue&) const">
				<h3>BNode* nodeOfAsset(const BValue&amp; asset) const;</h3>
			</div>
			<div id="nodesInSpace(const BSpace&, BNodeArray&) const">
				<h3>bool nodesInSpace(const BSpace&amp; space, BNodeArray&amp; nodes) const;</h3>
			</div>
			<div id="insert(BGroup*)">
				<h3>virtual bool insert(BGroup* group);</h3>
			</div>
			<div id="remove(BGroup*)">
				<h3>virtual bool remove(BGroup* group);</h3>
			</div>
			<div id="contain(const BGroup*) const">
				<h3>bool contain(const BGroup* group) const;</h3>
			</div>
			<div id="groupCount() const">
				<h3>int groupCount() const;</h3>
			</div>
			<div id="group(int) const">
				<h3>BGroup* group(int index) const;</h3>
			</div>
			<div id="group(const BString&) const">
				<h3>BGroup* group(const BString&amp; name) const;</h3>
			</div>
			<div id="groupOfAsset(const BValue&) const">
				<h3>BGroup* groupOfAsset(const BValue&amp; asset) const;</h3>
			</div>
			<div id="insert(BRestraint*)">
				<h3>virtual bool insert(BRestraint* restraint);</h3>
			</div>
			<div id="remove(BRestraint*)">
				<h3>virtual bool remove(BRestraint* restraint);</h3>
			</div>
			<div id="contain(const BRestraint*)">
				<h3>bool contain(const BRestraint* restraint);</h3>
			</div>
			<div id="restraintCount() const">
				<h3>int restraintCount() const;</h3>
			</div>
			<div id="restraint(int) const">
				<h3>BRestraint* restraint(int index) const;</h3>
			</div>
			<div id="restraint(const BString&) const">
				<h3>BRestraint* restraint(const BString&amp; name) const;</h3>
			</div>
			<div id="restraintOfAsset(const BValue&) const">
				<h3>BRestraint* restraintOfAsset(const BValue&amp; asset) const;</h3>
			</div>
			<div id="contain(const BString&) const">
				<h3>virtual bool contain(const BString&amp; name) const;</h3>
			</div>
			<div id="find(const BString&)">
				<h3>BObject* find(const BString&amp; name);</h3>
			</div>
			<div id="find(const BString&) const">
				<h3>const BObject* find(const BString&amp; name) const;</h3>
			</div>
			<div id="findGroup(const BString&)">
				<h3>BGroup* findGroup(const BString&amp; name);</h3>
			</div>
			<div id="findGroup(const BString&) const">
				<h3>const BGroup* findGroup(const BString&amp; name) const;</h3>
			</div>
			<div id="findShape(const BString&)">
				<h3>BShape* findShape(const BString&amp; name);</h3>
			</div>
			<div id="findShape(const BString&) const">
				<h3>const BShape* findShape(const BString&amp; name) const;</h3>
			</div>
			<div id="findNode(const BString&)">
				<h3>BNode* findNode(const BString&amp; name);</h3>
			</div>
			<div id="findNode(const BString&) const">
				<h3>const BNode* findNode(const BString&amp; name) const;</h3>
			</div>
			<div id="findRestraint(const BString&)">
				<h3>BRestraint* findRestraint(const BString&amp; name);</h3>
			</div>
			<div id="findRestraint(const BString&) const">
				<h3>const BRestraint* findRestraint(const BString&amp; name) const;</h3>
			</div>
			<div id="locate(const BString&)">
				<h3>BObject* locate(const BString&amp; path);</h3>
			</div>
			<div id="locate(const BString&) const">
				<h3>const BObject* locate(const BString&amp; path) const;</h3>
			</div>
			<div id="locateNode(const BString&)">
				<h3>BNode* locateNode(const BString&amp; path);</h3>
			</div>
			<div id="locateNode(const BString&) const">
				<h3>const BNode* locateNode(const BString&amp; path) const;</h3>
			</div>
			<div id="clear()">
				<h3>virtual void clear();</h3>
			</div>
			<div id="clearShapes()">
				<h3>virtual void clearShapes();</h3>
			</div>
			<div id="clearNodes()">
				<h3>virtual void clearNodes();</h3>
			</div>
			<div id="clearGroups()">
				<h3>virtual void clearGroups();</h3>
			</div>
			<div id="clearContraints()">
				<h3>virtual void clearContraints();</h3>
			</div>
			<div id="bodyCount() const">
				<h3>int bodyCount() const;</h3>
			</div>
			<div id="body(int) const">
				<h3>BBody* body(int index) const;</h3>
			</div>
			<div id="body(const BString&) const">
				<h3>BBody* body(const BString&amp; name) const;</h3>
			</div>
			<div id="bodyOfAsset(const BValue&) const">
				<h3>BBody* bodyOfAsset(const BValue&amp; asset) const;</h3>
			</div>
			<div id="bodysInSpace(const BSpace&, BBodyArray&) const">
				<h3>bool bodysInSpace(const BSpace&amp; space, BBodyArray&amp; lights) const;</h3>
			</div>
			<div id="lightCount() const">
				<h3>int lightCount() const;</h3>
			</div>
			<div id="light(int) const">
				<h3>BLight* light(int index) const;</h3>
			</div>
			<div id="light(const BString&) const">
				<h3>BLight* light(const BString&amp; name) const;</h3>
			</div>
			<div id="lightOfAsset(const BValue&) const">
				<h3>BLight* lightOfAsset(const BValue&amp; asset) const;</h3>
			</div>
			<div id="lightsInSpace(const BSpace&, BLightArray&) const">
				<h3>bool lightsInSpace(const BSpace&amp; space, BLightArray&amp; lights) const;</h3>
			</div>
			<div id="cameraCount() const">
				<h3>int cameraCount() const;</h3>
			</div>
			<div id="camera(int) const">
				<h3>BCamera* camera(int index) const;</h3>
			</div>
			<div id="camera(const BString&) const">
				<h3>BCamera* camera(const BString&amp; name) const;</h3>
			</div>
			<div id="cameraOfAsset(const BValue&) const">
				<h3>BCamera* cameraOfAsset(const BValue&amp; asset) const;</h3>
			</div>
			<div id="camerasInSpace(const BSpace&, BCameraArray&) const">
				<h3>bool camerasInSpace(const BSpace&amp; space, BCameraArray&amp; cameras) const;</h3>
			</div>
			<div id="start()">
				<h3>void start();</h3>
			</div>
			<div id="pause()">
				<h3>void pause();</h3>
			</div>
			<div id="reset()">
				<h3>void reset();</h3>
			</div>
			<div id="BObject::query;()">
				<h3>using BObject::query;</h3>
			</div>
			<div id="query(const BString&, BValue&) const">
				<h3>virtual bool query(const BString&amp; text, BValue&amp; value) const;</h3>
			</div>
			<div id="update(BReal)">
				<h3>virtual void update(BReal time);</h3>
			</div>
		</div>
	</body>
</html>